//class Solution {
//public:
//    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
//        map<int, int> mp1;
//        map<int, int> mp2;
//        for (auto& e : nums1)
//        {
//            mp1[e]++;
//        }
//        for (auto& e : nums2)
//        {
//            mp2[e]++;
//        }
//        vector<int> vc;
//        for (auto& e : nums1)
//        {
//            if (mp1[e] && mp2[e])
//            {
//                vc.push_back(e);
//                mp1[e]--;
//                mp2[e]--;
//            }
//        }
//        return vc;
//    }
//};